Полная версия этой страницы:
M340 и Ethernet (modbus Tcp)
Первый раз сталкиваюсь с этой системой, помогите плз (лучше семплом)
Задача.
1. Получить данные с другого оборудования по modbus TCP
2. отдать данные другому устройству по modbus TCP
Контроллер modicon m340 BMX P34 2020? причем реализовать надо все через встроенный ethernet port
Перерыл весь форум, но либо com, либо с помощью NOE модуля
FullJuice
3.6.2013, 16:03
1 способ.
Выставить IP-адрес крутилками сзади процессорного модуля. Подключиться через выставленный IP-адрес.
2 способ.
Создать подключение в Unity, прописав требуемый адрес. Отправить программу на ПЛК посредством USB-подключения. После того, как программа с заложенным IP-адрессом окажется на ПЛК, можно перейти на Ethernet подключение.
Цитата(FullJuice @ 3.6.2013, 17:03)

1 способ.
Выставить IP-адрес крутилками сзади процессорного модуля. Подключиться через выставленный IP-адрес.
2 способ.
Создать подключение в Unity, прописав требуемый адрес. Отправить программу на ПЛК посредством USB-подключения. После того, как программа с заложенным IP-адрессом окажется на ПЛК, можно перейти на Ethernet подключение.
К контроллеру подключился Все касается уже программирования
FullJuice
3.6.2013, 16:23
Если все внешние проводки уже готовы и конфигурация контроллера завершена:
1. Создать переменные (входные/выходные/внутренние);
2. Прописать адреса переменных;
3. Создать программы для обработки входных/выходных переменных.
Это интересует?
Цитата(FullJuice @ 3.6.2013, 17:23)

Если все внешние проводки уже готовы и конфигурация контроллера завершена:
1. Создать переменные (входные/выходные/внутренние);
2. Прописать адреса переменных;
3. Создать программы для обработки входных/выходных переменных.
Это интересует?
Да и часть из них должны читаться по modbus tcp\ip SCADA системой
А часть надо получать с весов тоже по modbus tcp\ip
т.е. Контроллер должен быть и клиентом и сервером
FullJuice
3.6.2013, 17:35
https://sites.google.com/site/fieldbusbook/...y-bystryj-startОт пользователя san. Выполнив этот "Быстрый старт", всё станет понятно.
Цитата(FullJuice @ 3.6.2013, 18:35)

https://sites.google.com/site/fieldbusbook/...y-bystryj-startОт пользователя san. Выполнив этот "Быстрый старт", всё станет понятно.
Спасибо завтра попробую
ток остался еще вопрос, получать данные вроде как прояснилось, а от куда читать данные другим устройством? (использование в качестве слайва)
Цитата(san @ 3.6.2013, 21:53)

сейчас все попробую и отпишусь
Все сделал, при компиляции выдает ошибку:
(l: 13, c: 50) E1208 usage of dynamic arrays is disabled
Цитата
Вот нашел тоже от тебя на другом форуме, огромное спасибо
Цитата
Нужно поставить галочку
Tools->Project settings->Allow Dynamic Arrrays и
Tools->Project settings->Directly represented array var,
или использовать в качестве входа созданый массив. Сам когда-то на это наткнулся.
Цитата(CoDa @ 4.6.2013, 8:41)

(l: 13, c: 50) E1208 usage of dynamic arrays is disabled
Вот нашел тоже от тебя на другом форуме, огромное спасибо
Уже поправил. Если будут опечатки или непонятки, или синтаксис глаза режет - пишите, буду исправлять. А то вопросы частые, лучше один раз написать и всех туда отправлять, чем много раз писать одно и то же. :-)
Огромадное пасибки, все заработало !!
А в какие адреса писать данные что бы считать с контроллера?
пробовал в %MW0 и %MW100 читаю с контроллера - данных нет, точнее почему то не проходят команды с PC
Сори опять не разобрался, аксесс не включил
Не понял вопроса. Если данные в М340 локализованные, то нужно искать их по этому адресу. СКАДА какая? Если какая-то чужая, то нужно читать/писать данные с Holding Regters, таблицу соответствия на приведенной страничке я приводил.
Константин Ж
14.6.2013, 16:31
Извиняюсь за смешной вопрос как записывать/считывать данные я понял, но каким образом присвоение самих данных происходит (для записи/чтения) в контроллере в котором нужно получить данные от другого контроллера TCP клиента (организую связь между двумя М340, нужно от одного передать информацию другому о состоянии процесса). Или все таки для двухстороннего обмена нужно в обоих контроллера прописывать чтение/запись?
Там (в сервере) данные нужно писать/читать в область %MW. Можно непосредственно, а можно привязать туда переменную. ОС Юнити уже сама организует запись/чтение в эту/(с этой) области с Модбас как к регистрам.
Константин Ж
14.6.2013, 20:18
Нет, с сервером обмен уже отстроен, меня не это интересует, мне нужен прямой обмен между двумя контроллерами на картинке программа, read_var, считываем булевые переменные из другого контроллера, вопрос как мне из массива remout_date (состоящего из интеджер) вытащить булевые
Обращаться к ним через точку. Еще вариант - привязать массив к %MW. А самый лучший вариант - считвать не %M а %MW, куда упаковывать все булы (можно просто отображать туда, например булевую переменную привязать скажем к %Mw200.0). Каждый бул в М340 занимает один байт, а запаковавши бит в слово, он займет только один бит. Экономия в 8 раз и гемора меньше, так как и булы и инты можно передавать в одной посылке.
Константин Ж
15.6.2013, 5:17
Спасибо, сделаем тогда так во избежание гемора
Возник вот такой вопросик.
Отвалилось modbus\tcp устройство(проблема с устройством). Его (устройство) перегрузили. На контроллере связь не восстанавливается до перезагрузки контроллера. Кто с этим сталкивался. Как побороли данный косяк?
Цитата(CoDa @ 17.6.2013, 13:59)

Возник вот такой вопросик.
Отвалилось modbus\tcp устройство(проблема с устройством). Его (устройство) перегрузили. На контроллере связь не восстанавливается до перезагрузки контроллера. Кто с этим сталкивался. Как побороли данный косяк?
Если работа идет через коммун. функцию, думаю поможет выставленный таймаут в параметрах функиции.
Константин Ж
17.6.2013, 14:21
Возможно ли запустить симуляторы ПЛК в юнити на разных компьютерах, при этом что бы они между собой запросы по TCP отрабатывали, так называемая симуляция двух контроллеров с возможностью обмена данными?
Цитата(san @ 17.6.2013, 15:09)

Если работа идет через коммун. функцию, думаю поможет выставленный таймаут в параметрах функиции.
Таймаут не помогает

можно ли как нибудь сделать так сказать софт ресет контроллера?
Цитата(Константин Ж @ 17.6.2013, 14:21)

Возможно ли запустить симуляторы ПЛК в юнити на разных компьютерах, при этом что бы они между собой запросы по TCP отрабатывали, так называемая симуляция двух контроллеров с возможностью обмена данными?
Нет, только со стороны сервера, клиентский должен быть аппаратный.
Цитата(CoDa @ 17.6.2013, 14:27)

Таймаут не помогает

можно ли как нибудь сделать так сказать софт ресет контроллера?
Не задумывался над этим. Надо поклупаться в IODDT для порта Ethernet. Поройте в хелпе.
Здравствуйте, есть вопрос. При обмене данными со скада системой используется 502 порт, настраивается как либо номер порта в модиконе м340, например 503 и т.д.?
Добрый день!
Нет, насколько я знаю, в самом М340 настраивается только параметры самого IP, Mask, Gateway и способы получения адреса (Static, DHCP, BOOTP)
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.